ConflictTable Property Example

This example uses the ConflictTable property to report the table names that had conflicts during synchronization.

Sub ConflictTableX()

    Dim dbsNorthwind As Database
    Dim tdfTest As TableDef

    Set dbsNorthwind = OpenDatabase("Northwind.mdb")

    ' Enumerate TableDefs collection and check ConflictTable
    ' property of each.
    For Each tdfTest In dbsNorthwind.TableDefs
        If tdfTest.ConflictTable <> "" Then _
            Debug.Print tdfTest.Name & " had a conflict."
    Next tdfTest

    dbsNorthwind.Close

End Sub

This example opens a Recordset from the conflict table and one from the table that caused the conflict. It then processes the records in these tables, using the RequiredDate field to copy information from one table to the other depending on which record was more recently updated.

Sub ConflictTableX2(dbsResolve As Database)

    Dim tdfTest As TableDef
    Dim rstSource As Recordset
    Dim rstConflict As Recordset
    Dim fldLoop As Field

    Set tdfTest = dbsResolve.TableDefs("Orders")

    If tdfTest.ConflictTable <> "" Then

        Set rstSource = dbsResolve.OpenRecordset( _
            tdfTest.Name, dbOpenTable)
        Set rstConflict = dbsResolve.OpenRecordset( _
            tdfTest.ConflictTable, dbOpenTable)
        rstSource.Index = "[d_Guid]"
        rstConflict.MoveFirst

        Do Until rstConflict.EOF
            rstSource.Seek "=", rstConflict![s_Guid]
            If Not rstSource.NoMatch Then
                If rstSource!RequiredDate < _
                        rstConflict!RequiredDate Then
                    On Error Resume Next
                        For Each fldLoop in rstConflict.Fields
                            fldLoop = rstSource(fldLoop.Name)
                        Next fldLoop
                    On Error Goto 0
                End If
            End If
            rstConflict.Delete
            rstConflict.MoveNext
        Loop

        rstConflict.Close
        rstSource.Close
    End If

End Sub